package com.rzcode.coinex.core.constant;

import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.Setter;

/**
 * 枚举类型 AdminModule，用于表示后台管理系统的各个模块。
 * <p>
 * 每个枚举实例代表一个特定的模块，并且携带一个描述性的标题。
 * @author xukui
 */
@AllArgsConstructor
@Getter
public enum AdminModule {

    // 后台内容管理系统模块
    CMS("CMS"),

    // 常用工具模块
    COMMON("COMMON"),

    // 交易系统模块
    EXCHANGE("EXCHANGE"),

    // 财务系统模块
    FINANCE("FINANCE"),

    // 会员管理模块
    MEMBER("MEMBER"),

    // 场外交易模块
    OTC("OTC"),

    // 系统设置模块
    SYSTEM("SYSTEM"),

    // 促销活动模块
    PROMOTION("PROMOTION"),

    // 首页管理模块
    INDEX("INDEX"),

    // 活动管理模块
    ACTIVITY("ACTIVITY"),

    // 即时交易模块
    CTC("CTC"),

    // 红包管理模块
    REDENVELOPE("REDENVELOPE"),

    // 合约期权模块
    CONTRACTOPTION("CONTRACTOPTION");

    /**
     * 枚举实例的标题，用于更友好的展示模块名称。
     */
    @Setter
    private String title;
}
